package com.zhike.common.model;

import java.io.Serializable;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@TableName("zhike_users")
public class IMUser implements Serializable {
    @ApiModelProperty(name = "userUid", value = "id")
    @TableId(value = "user_uid", type = IdType.AUTO)
    private Integer userUid;

    @ApiModelProperty(name = "accountNumber", value = "用户账号")
    private String accountNumber;

    @ApiModelProperty(name = "nickname", value = "昵称")
    private String nickname;

    @ApiModelProperty(name = "userPsw", value = "登陆密码")
    private String userPsw;

    @ApiModelProperty(name = "userSex", value = "1 男，0 女  默认是1")
    private Integer userSex;

    @ApiModelProperty(name = "registerIp", value = "注册时IP")
    private String registerIp;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "registerTime", value = "注册时间")
    private Date registerTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "latestLoginTime", value = "最近一次登陆时间：此时间是服务器的默认时区时间（当前是北京时间）。")
    private Date latestLoginTime;

    @ApiModelProperty(name = "latestLoginIp", value = "最近一次登陆IP")
    private String latestLoginIp;

    @ApiModelProperty(name = "userStatus", value = " 用户状态：表示该用户处于禁用状（0用户不能允许登陆）， 1表示正常登陆状态。默认值是1。")
    private Integer userStatus;

    @ApiModelProperty(name = "userAvatarFileName", value = "用户头像文件名")
    private String userAvatarFileName;

    @ApiModelProperty(name = "userRegieon", value = "用户所属地区")
    private String userRegieon;

    @ApiModelProperty(name = "phone", value = "用户手机号")
    private String phone;

    @ApiModelProperty(name = "payPwd", value = "支付密码")
    private String payPwd;

    @ApiModelProperty(name = "automaticReplyStatus", value = "自动回复状态（1、开启 0 关闭）")
    private String automaticReplyStatus;

    @ApiModelProperty(name = "automaticReplyContent", value = "自动回复内容")
    private String automaticReplyContent;

    @ApiModelProperty(name = "是否删除", notes = "1删除")
    private Integer deleted;

    @ApiModelProperty(name = "allowPhoneSearch", value = "允许通过手机号搜索我（1、开启 0 关闭）")
    private String allowPhoneSearch;

    @ApiModelProperty(name = "allowNicknameSearch", value = "允许通过昵称搜索我（1、开启 0 关闭）")
    private String allowNicknameSearch;

    @ApiModelProperty(name = "messageVibrate", value = "消息来时震动（1、开启 0 关闭）")
    private String messageVibrate;

    @ApiModelProperty(name = "entering", value = "让对方知道我正在输入（1、开启 0 关闭）")
    private String entering;

    @ApiModelProperty(name = "messageReadStatus", value = "发送消息阅读状态（1、开启 0 关闭）")
    private String messageReadStatus;

    @ApiModelProperty(name = "publicPersonalLocation", value = "公开个人位置（1、开启 0 关闭）")
    private String publicPersonalLocation;

    @ApiModelProperty(name = "multipleDeviceLogin", value = "支持多设备登录（1、开启 0 关闭）")
    private String multipleDeviceLogin;

    @ApiModelProperty(name = "addMethodGroup", value = "添加方式群聊（1、开启 0 关闭）")
    private String addMethodGroup;

    @ApiModelProperty(name = "addMethodCard", value = "添加方式名片（1、开启 0 关闭）")
    private String addMethodCard;

    @ApiModelProperty(name = "addMethodQr", value = "添加方式二维码（1、开启 0 关闭）")
    private String addMethodQr;

    @ApiModelProperty(name = "myBackgroundUrl", value = "app我的页面背景图")
    private String myBackgroundUrl;

    @ApiModelProperty(name = "addFriendVerficate", value = "加我为朋友验证（1开启0关闭）")
    private String addFriendVerficate;

    @ApiModelProperty(value = "消息通知")
    private String messageNotify;

    @ApiModelProperty(name = "fakeUid", value = "虚拟用户ID")
    private String fakeUid;
}
